declare i32 @getint()

declare void @putint(i32)

define i32 @main() {
label_entry:
  %op2 = call i32 @getint()
  br label %label3
label3:                                                ; preds = %label_entry, %label20
  %op4 = phi i32 [ 1, %label_entry ], [ %op_new, %label20 ]
  %op5 = icmp slt i32 %op4, 999999999
  br i1 %op5, label %label6, label %label11
label6:                                                ; preds = %label3
  %op9 = srem i32 %op4, %op2
  %op10 = icmp eq i32 %op9, 0
  br i1 %op10, label %label14, label %label17
label11:                                                ; preds = %label3
  call void @putint(i32 %op2)
  ret i32 %op4
label14:                                                ; preds = %label6
  %op16 = add i32 %op4, 3
  br label %label20
label17:                                                ; preds = %label6
  %op19 = add i32 %op4, 2
  br label %label20
label20:                                                ; preds = %label14, %label17
  %op_new = phi i32 [ %op16, %label14 ], [ %op19, %label17 ]
  br label %label3
}
